![Automatorを使って、PDFをpngに変換してPDFファイルと同名のディレクトリに置く](https://devio2023-media.developers.io/wp-content/uploads/2020/09/Automator.png)
Automatorを使って、PDFをpngに変換してPDFファイルと同名のディレクトリに置く
こんにちは、CX事業本部の夏目です。
今回はmacOSに標準でインストールされているAutomatorを使ってPDFをpngにしようと思います。
pngに変換するだけなら他のサイトで紹介されたりしているのですが、PDFファイルと同名のディレクトリを作成して、そこにpngファイルを保存しようと思います。
作成
0. Automatorを起動する
Finderでアプリケーション -> Automator.app
を探し、ダブルクリックします。
1. クイックアクションの作成
Finderで右クリックから使用したいので、今回はクイックアクション
を選択します。
クイックアクションのワークフロー作成画面に遷移したら、次のように変更します。
- ワークフローが受け付ける現在の項目:
PDFファイル
- 検索対象:
Finder.app
2. 変数の定義
ウィンドウ最下部の長方形が2つ縦に並んだアイコンをクリックして、変数を見れるようにします。
変数と書かれているところの下の、シマシマの部分を右クリックして次の変数を定義します。
pdf_path
: PDFファイルのパスpdf_name
: PDFファイルの名前pdf_dir
: PDFファイルがあるディレクトリsave_dir
: pngファイルを保存するディレクトリ
3. PDFファイルのパスを変数に保存する
何度も使うことになるので、PDFファイルのパスを変数に保存します。
左のカラムから ユーティリティ -> 変数の値を設定
をドラッグ(もしくはダブルクリック)してワークフローに追加し、変数としてpdf_path
を選択します。
4. PDFファイルの名前を取得し、変数に保存する
PDFファイルのパスが今のままだとフルパスで拡張子も含まれるので、拡張子のないファイル名のみを取り出し、変数に保存します。
今回はシェルスクリプトを使用してファイル名を取り出します。
ユーティリティ -> シェルスクリプトを実行
をワークフローに追加し、次のように設定します。
- シェル:
/bin/zsh
(なければ/bin/bash
でも可) - 入力の引き渡し方法:
引数として
- スクリプト:
basename "$1" .pdf
これでファイル名を取り出すことができたので、先程と同様に変数 pdf_name
に保存します。
5. PDFファイルのディレクトリを取得し、変数に保存する
PDFファイルの名前を変数に保存したので、次はPDFファイルがあるディレクトリを保存します。
今渡ってきている結果にはPDFファイルの名前なので、ここまでの実行結果を受け取らずに変数に保存したPDFファイルのパスを取得します。
ユーティリティ -> 変数の値を取得
をワークフローに追加し、次のように設定します。
- 変数:
pdf_path
オプション
をクリックし、このアクションの入力を無視
にチェックを付ける
次にファイル名を取得したときと同様にシェルスクリプトを使用して、ディレクトリパスを取得します。
- シェル:
/bin/zsh
(/bin/bash
でも可) - 入力の引き渡し方法:
引数として
- スクリプト:
dirname "$1"
ディレクトリパスを取得できたので、変数 pdf_dir
に保存します。
6. pngファイルの保存先ディレクトリのパスを作成する
pngファイルはPDFファイルと同名のディレクトリに保存するので、先程取得したディレクトリパスとファイル名をつなげたいと思います。
ディレクトリパスは今結果として取得できているので、変数pdf_name
を取得して結果にファイル名を追加します。
続いて、ディレクトリ名とファイル名をつなげて一つにします。
こちらもシェルスクリプトを使用して行います。
- シェル:
/bin/zsh
(/bin/bash
でも可) - 入力の引き渡し方法:
引数として
- スクリプト:
echo "$1/$2"
ディレクトリパスとファイル名をつなげて、pngファイルを保存するディレクトリのパスを取得できたので、変数save_dir
に保存します。
7. pngファイルを保存するディレクトリを作成する
次はpngファイルを保存するディレクトリを作成します。
ファイルとフォルダ -> 新規フォルダ
をワークフローに追加して、次のように設定します。
- 名前: 変数
pdf_name
をドラッグして設定 - 場所: 変数
pdf_dir
をドラッグして設定 オプション
をクリックし、このアクションの入力を無視
にチェック
8. PDFファイルをpngファイルに変換して保存する
これで準備が終わったので、PDFファイルをpngファイルに変換します。
まず、今までの結果を受け取らずに変数pdf_path
からPDFファイルのパスを取得します。
- 変数:
pdf_path
オプション
をクリックし、このアクションの入力を無視
にチェック
次にPDFを画像にしていきます。
PDF -> PDFページをイメージとしてレンダリング
をワークフローに追加します。
ここで画質や形式等を設定できるのでお好みに設定してください。
(例として自分の好みを記載します)
- カラーモデル:
RGB
- フォーマット:
PNGイメージ
- 解像度:
400
ドット/インチ - 圧縮: 最高から3つ目の目盛り
PNGイメージの生成まで終わったので、PDFファイルと同名のディレクトリに保存します。
ファイルとフォルダ -> Finder項目を移動
をワークフローに追加し、次のように設定します。
- 保存先: 変数
save_dir
をドラッグして設定 - 既存のファイルを置き換えるにチェックをいれる
最後にファイル名を連番に変更します。
ファイルとフォルダ -> Finder項目の名前を変更
をワークフローに追加し、次のように設定します。
日付または時刻を追加
を連番付きの名前にする
に変更- 番号の追加先:
新しい名前
を選択 - 区切り文字:
なし
すべての番号を
の左のチェックボックスにチェックをいれ、右の数値を3
にする
9. 保存
Command + S
で保存します。
名前は好きなもので構いません(自分はpdf2png
にしました)。
これでFinderでPDFファイルを右クリックするとpngファイルに変換することができます。
PDFファイルを右クリックしてサービス -> pdf2png
(保存した際の名前)で使用することができます。
まとめ
以上、AutomatorでPDFをpngに変換してPDFファイルの名前のディレクトリに保存する方法でした。
右クリックから使用できるので非常に便利です。
もしよかったら試してみてください。